# 创建时间：2025/5/2 星期五 13:47
# 创建人：李德才

class Student:
    height = 170  # 类属性， 所有对象都共享这个属性

    """ 
    在python 中， 类的属性和方法都是公开的， 可以在任何地方访问 
    在类中定义的叫做方法， 在类外面定义的叫做函数 
    在类中定义的方法， 第一个参数必须是 self， 表示当前对象
    在类中定义的方法， 可以访问类的属性和方法
    """

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say(self):
        print(f"我叫{self.name}, 我今年{self.age}岁了")

    def __del__(self):  # 析构函数， 当对象被销毁时， 会自动调用这个函数
        print(f"{self.name}对象已经被销毁")

    def __str__(self):
        return f"我叫{self.name}, 我今年{self.age}岁了"

    @classmethod
    def test(cls):
        print("这是一个类方法")

    @staticmethod
    def test2():
        print("这是一个静态方法")


stu1 = Student("张三", 18)
stu2 = Student("李四", 19)

stu1.say()
stu2.say()

stu1.test()
Student.test()
stu1.test2()
Student.test2()

stu1.height = 180
print(stu1.height)
print(stu2.height)


def show():  # 这是一个函数, 不是方法
    print("这是一个函数")


stu1.show = show
stu1.show()
